'Weak Dependency Graph [60.0]' ------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , and(mark(X1), X2) -> mark(and(X1, X2)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , s(mark(X)) -> mark(s(X)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(s(X)) -> s(proper(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , s(ok(X)) -> ok(s(X)) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X))} Details: We have computed the following set of weak (innermost) dependency pairs: { active^#(and(tt(), X)) -> c_0() , active^#(plus(N, 0())) -> c_1() , active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M))) , active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2)) , active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2)) , active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2))) , active^#(s(X)) -> c_6(s^#(active(X))) , and^#(mark(X1), X2) -> c_7(and^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2)) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , s^#(mark(X)) -> c_10(s^#(X)) , proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2))) , proper^#(tt()) -> c_12() , proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2))) , proper^#(0()) -> c_14() , proper^#(s(X)) -> c_15(s^#(proper(X))) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2)) , s^#(ok(X)) -> c_18(s^#(X)) , top^#(mark(X)) -> c_19(top^#(proper(X))) , top^#(ok(X)) -> c_20(top^#(active(X)))} The usable rules are: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(s(X)) -> s(proper(X)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} The estimated dependency graph contains the following edges: {active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))} ==> {s^#(ok(X)) -> c_18(s^#(X))} {active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))} ==> {s^#(mark(X)) -> c_10(s^#(X))} {active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))} ==> {and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))} {active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))} ==> {and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} {active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))} ==> {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} {active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))} ==> {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))} {active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))} ==> {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} {active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))} ==> {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} {active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))} ==> {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))} {active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))} ==> {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} {active^#(s(X)) -> c_6(s^#(active(X)))} ==> {s^#(ok(X)) -> c_18(s^#(X))} {active^#(s(X)) -> c_6(s^#(active(X)))} ==> {s^#(mark(X)) -> c_10(s^#(X))} {and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} ==> {and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))} {and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} ==> {and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} ==> {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} ==> {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))} {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} ==> {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))} ==> {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))} ==> {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))} {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))} ==> {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} {s^#(mark(X)) -> c_10(s^#(X))} ==> {s^#(ok(X)) -> c_18(s^#(X))} {s^#(mark(X)) -> c_10(s^#(X))} ==> {s^#(mark(X)) -> c_10(s^#(X))} {proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))} ==> {and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))} {proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))} ==> {and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} {proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))} ==> {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} {proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))} ==> {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))} {proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))} ==> {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} {proper^#(s(X)) -> c_15(s^#(proper(X)))} ==> {s^#(ok(X)) -> c_18(s^#(X))} {proper^#(s(X)) -> c_15(s^#(proper(X)))} ==> {s^#(mark(X)) -> c_10(s^#(X))} {and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))} ==> {and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))} {and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))} ==> {and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} ==> {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} ==> {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))} {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} ==> {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} {s^#(ok(X)) -> c_18(s^#(X))} ==> {s^#(ok(X)) -> c_18(s^#(X))} {s^#(ok(X)) -> c_18(s^#(X))} ==> {s^#(mark(X)) -> c_10(s^#(X))} {top^#(mark(X)) -> c_19(top^#(proper(X)))} ==> {top^#(ok(X)) -> c_20(top^#(active(X)))} {top^#(mark(X)) -> c_19(top^#(proper(X)))} ==> {top^#(mark(X)) -> c_19(top^#(proper(X)))} {top^#(ok(X)) -> c_20(top^#(active(X)))} ==> {top^#(ok(X)) -> c_20(top^#(active(X)))} {top^#(ok(X)) -> c_20(top^#(active(X)))} ==> {top^#(mark(X)) -> c_19(top^#(proper(X)))} We consider the following path(s): 1) { top^#(mark(X)) -> c_19(top^#(proper(X))) , top^#(ok(X)) -> c_20(top^#(active(X)))} The usable rules for this path are the following: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , top^#(mark(X)) -> c_19(top^#(proper(X))) , top^#(ok(X)) -> c_20(top^#(active(X)))} Details: We apply the weight gap principle, strictly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(mark(X)) -> c_19(top^#(proper(X)))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(mark(X)) -> c_19(top^#(proper(X)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [9] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [1] x1 + [0] c_19(x1) = [1] x1 + [0] c_20(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {top^#(ok(X)) -> c_20(top^#(active(X)))} and weakly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(mark(X)) -> c_19(top^#(proper(X)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {top^#(ok(X)) -> c_20(top^#(active(X)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [5] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [1] x1 + [0] c_19(x1) = [1] x1 + [0] c_20(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0())} and weakly orienting the rules { top^#(ok(X)) -> c_20(top^#(active(X))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(mark(X)) -> c_19(top^#(proper(X)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0())} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [9] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [3] ok(x1) = [1] x1 + [2] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [1] x1 + [14] c_19(x1) = [1] x1 + [2] c_20(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(plus(N, 0())) -> mark(N)} and weakly orienting the rules { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0()) , top^#(ok(X)) -> c_20(top^#(active(X))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(mark(X)) -> c_19(top^#(proper(X)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(plus(N, 0())) -> mark(N)} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [8] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [8] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [8] ok(x1) = [1] x1 + [4] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [1] x1 + [0] c_19(x1) = [1] x1 + [0] c_20(x1) = [1] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active(and(tt(), X)) -> mark(X)} and weakly orienting the rules { active(plus(N, 0())) -> mark(N) , proper(tt()) -> ok(tt()) , proper(0()) -> ok(0()) , top^#(ok(X)) -> c_20(top^#(active(X))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(mark(X)) -> c_19(top^#(proper(X)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active(and(tt(), X)) -> mark(X)} Details: Interpretation Functions: active(x1) = [1] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [6] tt() = [2] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [1] x1 + [0] c_19(x1) = [1] x1 + [0] c_20(x1) = [1] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , proper(tt()) -> ok(tt()) , proper(0()) -> ok(0()) , top^#(ok(X)) -> c_20(top^#(active(X))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(mark(X)) -> c_19(top^#(proper(X)))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , proper(tt()) -> ok(tt()) , proper(0()) -> ok(0()) , top^#(ok(X)) -> c_20(top^#(active(X))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , top^#(mark(X)) -> c_19(top^#(proper(X)))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { active_0(3) -> 37 , active_0(4) -> 37 , active_0(6) -> 37 , active_0(9) -> 37 , tt_0() -> 3 , mark_0(3) -> 4 , mark_0(4) -> 4 , mark_0(6) -> 4 , mark_0(9) -> 4 , 0_0() -> 6 , proper_0(3) -> 39 , proper_0(4) -> 39 , proper_0(6) -> 39 , proper_0(9) -> 39 , ok_0(3) -> 9 , ok_0(3) -> 39 , ok_0(4) -> 9 , ok_0(6) -> 9 , ok_0(6) -> 39 , ok_0(9) -> 9 , top^#_0(3) -> 35 , top^#_0(4) -> 35 , top^#_0(6) -> 35 , top^#_0(9) -> 35 , top^#_0(37) -> 36 , top^#_0(39) -> 38 , c_19_0(38) -> 35 , c_20_0(36) -> 35 , c_20_0(36) -> 38} 2) { active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2)) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2)) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} The usable rules for this path are the following: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2)) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2)) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} Details: We apply the weight gap principle, strictly orienting the rules { plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [3] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [1] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [1] x1 + [1] c_9(x1) = [1] x1 + [1] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [1] x1 + [1] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))} and weakly orienting the rules { plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [1] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [7] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [1] x1 + [1] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [1] x1 + [8] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules { active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2)) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [2] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [13] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [1] x1 + [3] plus^#(x1, x2) = [1] x1 + [1] x2 + [4] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [1] x1 + [1] c_9(x1) = [1] x1 + [1] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [1] x1 + [4] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} and weakly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2)) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [2] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [4] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [1] x1 + [3] plus^#(x1, x2) = [1] x1 + [1] x2 + [1] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [1] x1 + [0] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [1] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M)))} and weakly orienting the rules { plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2)) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [4] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [11] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [1] x1 + [1] plus^#(x1, x2) = [1] x1 + [1] x2 + [7] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [1] x1 + [0] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [1] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2)) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2)) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { tt_0() -> 2 , mark_0(2) -> 2 , 0_0() -> 2 , ok_0(2) -> 2 , active^#_0(2) -> 1 , plus^#_0(2, 2) -> 1 , c_8_0(1) -> 1 , c_9_0(1) -> 1 , c_17_0(1) -> 1} 3) { active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2))) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2)) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} The usable rules for this path are the following: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2))) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2)) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} Details: We apply the weight gap principle, strictly orienting the rules { plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [3] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [0] c_5(x1) = [1] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [1] x1 + [1] c_9(x1) = [1] x1 + [1] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [1] x1 + [1] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))} and weakly orienting the rules { plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [7] c_5(x1) = [1] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [1] x1 + [1] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [1] x1 + [8] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules { active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2))) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [2] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [13] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [4] c_5(x1) = [1] x1 + [3] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [1] x1 + [1] c_9(x1) = [1] x1 + [1] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [1] x1 + [4] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} and weakly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2))) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [2] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [4] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [1] c_5(x1) = [1] x1 + [3] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [1] x1 + [0] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [1] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M)))} and weakly orienting the rules { plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2))) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [4] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [11] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [7] c_5(x1) = [1] x1 + [1] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [1] x1 + [0] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [1] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2))) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2))) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { tt_0() -> 2 , mark_0(2) -> 2 , 0_0() -> 2 , ok_0(2) -> 2 , active^#_0(2) -> 1 , plus^#_0(2, 2) -> 1 , c_8_0(1) -> 1 , c_9_0(1) -> 1 , c_17_0(1) -> 1} 4) { proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2))) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2)) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} The usable rules for this path are the following: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2))) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2)) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} Details: We apply the weight gap principle, strictly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [1] x1 + [1] c_9(x1) = [1] x1 + [1] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [1] x1 + [1] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [1] x1 + [1] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))} and weakly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [1] x1 + [1] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [1] x1 + [1] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [1] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} and weakly orienting the rules { proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [8] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [1] x1 + [4] c_9(x1) = [1] x1 + [8] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [1] x1 + [2] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [1] x1 + [1] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))} and weakly orienting the rules { plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2)) , proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [8] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [1] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [1] x1 + [0] c_9(x1) = [1] x1 + [2] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [1] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [1] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0())} and weakly orienting the rules { plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2)) , proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0())} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [15] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [8] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [1] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [1] x1 + [0] c_9(x1) = [1] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [1] x1 + [2] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [1] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0()) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2)) , proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0()) , plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2)) , proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { tt_0() -> 3 , mark_0(3) -> 4 , mark_0(4) -> 4 , mark_0(6) -> 4 , mark_0(9) -> 4 , 0_0() -> 6 , ok_0(3) -> 9 , ok_0(4) -> 9 , ok_0(6) -> 9 , ok_0(9) -> 9 , plus^#_0(3, 3) -> 19 , plus^#_0(3, 4) -> 19 , plus^#_0(3, 6) -> 19 , plus^#_0(3, 9) -> 19 , plus^#_0(4, 3) -> 19 , plus^#_0(4, 4) -> 19 , plus^#_0(4, 6) -> 19 , plus^#_0(4, 9) -> 19 , plus^#_0(6, 3) -> 19 , plus^#_0(6, 4) -> 19 , plus^#_0(6, 6) -> 19 , plus^#_0(6, 9) -> 19 , plus^#_0(9, 3) -> 19 , plus^#_0(9, 4) -> 19 , plus^#_0(9, 6) -> 19 , plus^#_0(9, 9) -> 19 , c_8_0(19) -> 19 , c_9_0(19) -> 19 , proper^#_0(3) -> 26 , proper^#_0(4) -> 26 , proper^#_0(6) -> 26 , proper^#_0(9) -> 26 , c_17_0(19) -> 19} 5) { active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2)) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} The usable rules for this path are the following: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2)) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} Details: We apply the weight gap principle, strictly orienting the rules {and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [1] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [1] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))} and weakly orienting the rules {and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [1] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [1] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [1] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))} and weakly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [5] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [1] x1 + [1] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [1] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [5] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M)))} and weakly orienting the rules { active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [4] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [1] x1 + [5] and^#(x1, x2) = [1] x1 + [1] x2 + [3] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { tt_0() -> 3 , mark_0(3) -> 4 , mark_0(4) -> 4 , mark_0(6) -> 4 , mark_0(9) -> 4 , 0_0() -> 6 , ok_0(3) -> 9 , ok_0(4) -> 9 , ok_0(6) -> 9 , ok_0(9) -> 9 , active^#_0(3) -> 11 , active^#_0(4) -> 11 , active^#_0(6) -> 11 , active^#_0(9) -> 11 , and^#_0(3, 3) -> 17 , and^#_0(3, 4) -> 17 , and^#_0(3, 6) -> 17 , and^#_0(3, 9) -> 17 , and^#_0(4, 3) -> 17 , and^#_0(4, 4) -> 17 , and^#_0(4, 6) -> 17 , and^#_0(4, 9) -> 17 , and^#_0(6, 3) -> 17 , and^#_0(6, 4) -> 17 , and^#_0(6, 6) -> 17 , and^#_0(6, 9) -> 17 , and^#_0(9, 3) -> 17 , and^#_0(9, 4) -> 17 , and^#_0(9, 6) -> 17 , and^#_0(9, 9) -> 17 , c_7_0(17) -> 17 , c_16_0(17) -> 17} 6) { active^#(s(X)) -> c_6(s^#(active(X))) , s^#(ok(X)) -> c_18(s^#(X)) , s^#(mark(X)) -> c_10(s^#(X))} The usable rules for this path are the following: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(s(X)) -> c_6(s^#(active(X))) , s^#(ok(X)) -> c_18(s^#(X)) , s^#(mark(X)) -> c_10(s^#(X))} Details: We apply the weight gap principle, strictly orienting the rules {s^#(mark(X)) -> c_10(s^#(X))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {s^#(mark(X)) -> c_10(s^#(X))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [9] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [3] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [1] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [1] x1 + [1] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {active^#(s(X)) -> c_6(s^#(active(X)))} and weakly orienting the rules {s^#(mark(X)) -> c_10(s^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(s(X)) -> c_6(s^#(active(X)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [5] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [1] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [1] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s^#(ok(X)) -> c_18(s^#(X))} and weakly orienting the rules { active^#(s(X)) -> c_6(s^#(active(X))) , s^#(mark(X)) -> c_10(s^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s^#(ok(X)) -> c_18(s^#(X))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [1] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M)))} and weakly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s^#(ok(X)) -> c_18(s^#(X)) , active^#(s(X)) -> c_6(s^#(active(X))) , s^#(mark(X)) -> c_10(s^#(X))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [4] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s^#(ok(X)) -> c_18(s^#(X)) , active^#(s(X)) -> c_6(s^#(active(X))) , s^#(mark(X)) -> c_10(s^#(X))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s^#(ok(X)) -> c_18(s^#(X)) , active^#(s(X)) -> c_6(s^#(active(X))) , s^#(mark(X)) -> c_10(s^#(X))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { tt_0() -> 3 , mark_0(3) -> 4 , mark_0(4) -> 4 , mark_0(6) -> 4 , mark_0(9) -> 4 , 0_0() -> 6 , ok_0(3) -> 9 , ok_0(4) -> 9 , ok_0(6) -> 9 , ok_0(9) -> 9 , active^#_0(3) -> 11 , active^#_0(4) -> 11 , active^#_0(6) -> 11 , active^#_0(9) -> 11 , s^#_0(3) -> 15 , s^#_0(4) -> 15 , s^#_0(6) -> 15 , s^#_0(9) -> 15 , c_10_0(15) -> 15 , c_18_0(15) -> 15} 7) { proper^#(s(X)) -> c_15(s^#(proper(X))) , s^#(ok(X)) -> c_18(s^#(X)) , s^#(mark(X)) -> c_10(s^#(X))} The usable rules for this path are the following: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , proper^#(s(X)) -> c_15(s^#(proper(X))) , s^#(ok(X)) -> c_18(s^#(X)) , s^#(mark(X)) -> c_10(s^#(X))} Details: We apply the weight gap principle, strictly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [1] proper^#(x1) = [1] x1 + [1] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [1] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [1] x1 + [1] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {s^#(ok(X)) -> c_18(s^#(X))} and weakly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {s^#(ok(X)) -> c_18(s^#(X))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [1] proper^#(x1) = [1] x1 + [1] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [1] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {proper^#(s(X)) -> c_15(s^#(proper(X)))} and weakly orienting the rules { s^#(ok(X)) -> c_18(s^#(X)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(s(X)) -> c_15(s^#(proper(X)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [1] proper^#(x1) = [1] x1 + [9] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [1] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [1] x1 + [1] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {s^#(mark(X)) -> c_10(s^#(X))} and weakly orienting the rules { proper^#(s(X)) -> c_15(s^#(proper(X))) , s^#(ok(X)) -> c_18(s^#(X)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {s^#(mark(X)) -> c_10(s^#(X))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [8] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [0] proper^#(x1) = [1] x1 + [9] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [1] x1 + [7] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [1] x1 + [1] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0())} and weakly orienting the rules { s^#(mark(X)) -> c_10(s^#(X)) , proper^#(s(X)) -> c_15(s^#(proper(X))) , s^#(ok(X)) -> c_18(s^#(X)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0())} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [2] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [14] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [0] proper^#(x1) = [1] x1 + [15] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [1] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0()) , s^#(mark(X)) -> c_10(s^#(X)) , proper^#(s(X)) -> c_15(s^#(proper(X))) , s^#(ok(X)) -> c_18(s^#(X)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0()) , s^#(mark(X)) -> c_10(s^#(X)) , proper^#(s(X)) -> c_15(s^#(proper(X))) , s^#(ok(X)) -> c_18(s^#(X)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { tt_0() -> 3 , mark_0(3) -> 4 , mark_0(4) -> 4 , mark_0(6) -> 4 , mark_0(9) -> 4 , 0_0() -> 6 , ok_0(3) -> 9 , ok_0(4) -> 9 , ok_0(6) -> 9 , ok_0(9) -> 9 , s^#_0(3) -> 15 , s^#_0(4) -> 15 , s^#_0(6) -> 15 , s^#_0(9) -> 15 , c_10_0(15) -> 15 , proper^#_0(3) -> 26 , proper^#_0(4) -> 26 , proper^#_0(6) -> 26 , proper^#_0(9) -> 26 , c_18_0(15) -> 15} 8) { proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2))) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} The usable rules for this path are the following: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2))) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2)) , and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} Details: We apply the weight gap principle, strictly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [1] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_11(x1) = [1] x1 + [1] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [1] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))} and weakly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [8] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_11(x1) = [1] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [1] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} and weakly orienting the rules { proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {and^#(mark(X1), X2) -> c_7(and^#(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [8] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [1] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_11(x1) = [1] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0())} and weakly orienting the rules { and^#(mark(X1), X2) -> c_7(and^#(X1, X2)) , proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0())} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [8] tt() = [4] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [1] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [5] c_11(x1) = [1] x1 + [1] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [1] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0()) , and^#(mark(X1), X2) -> c_7(and^#(X1, X2)) , proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0()) , and^#(mark(X1), X2) -> c_7(and^#(X1, X2)) , proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { tt_0() -> 3 , mark_0(3) -> 4 , mark_0(4) -> 4 , mark_0(6) -> 4 , mark_0(9) -> 4 , 0_0() -> 6 , ok_0(3) -> 9 , ok_0(4) -> 9 , ok_0(6) -> 9 , ok_0(9) -> 9 , and^#_0(3, 3) -> 17 , and^#_0(3, 4) -> 17 , and^#_0(3, 6) -> 17 , and^#_0(3, 9) -> 17 , and^#_0(4, 3) -> 17 , and^#_0(4, 4) -> 17 , and^#_0(4, 6) -> 17 , and^#_0(4, 9) -> 17 , and^#_0(6, 3) -> 17 , and^#_0(6, 4) -> 17 , and^#_0(6, 6) -> 17 , and^#_0(6, 9) -> 17 , and^#_0(9, 3) -> 17 , and^#_0(9, 4) -> 17 , and^#_0(9, 6) -> 17 , and^#_0(9, 9) -> 17 , c_7_0(17) -> 17 , proper^#_0(3) -> 26 , proper^#_0(4) -> 26 , proper^#_0(6) -> 26 , proper^#_0(9) -> 26 , c_16_0(17) -> 17} 9) {active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))} The usable rules for this path are the following: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))} Details: We apply the weight gap principle, strictly orienting the rules {active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [1] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [3] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [1] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M)))} and weakly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [12] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [5] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [8] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [1] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { tt_0() -> 3 , mark_0(3) -> 4 , mark_0(4) -> 4 , mark_0(6) -> 4 , mark_0(9) -> 4 , 0_0() -> 6 , ok_0(3) -> 9 , ok_0(4) -> 9 , ok_0(6) -> 9 , ok_0(9) -> 9 , active^#_0(3) -> 11 , active^#_0(4) -> 11 , active^#_0(6) -> 11 , active^#_0(9) -> 11 , plus^#_0(3, 3) -> 19 , plus^#_0(3, 4) -> 19 , plus^#_0(3, 6) -> 19 , plus^#_0(3, 9) -> 19 , plus^#_0(4, 3) -> 19 , plus^#_0(4, 4) -> 19 , plus^#_0(4, 6) -> 19 , plus^#_0(4, 9) -> 19 , plus^#_0(6, 3) -> 19 , plus^#_0(6, 4) -> 19 , plus^#_0(6, 6) -> 19 , plus^#_0(6, 9) -> 19 , plus^#_0(9, 3) -> 19 , plus^#_0(9, 4) -> 19 , plus^#_0(9, 6) -> 19 , plus^#_0(9, 9) -> 19} 10) {active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))} The usable rules for this path are the following: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))} Details: We apply the weight gap principle, strictly orienting the rules {active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [1] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [6] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [1] x1 + [8] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M)))} and weakly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [12] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [4] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [8] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [1] x1 + [1] and^#(x1, x2) = [1] x1 + [1] x2 + [3] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { tt_0() -> 3 , mark_0(3) -> 4 , mark_0(4) -> 4 , mark_0(6) -> 4 , mark_0(9) -> 4 , 0_0() -> 6 , ok_0(3) -> 9 , ok_0(4) -> 9 , ok_0(6) -> 9 , ok_0(9) -> 9 , active^#_0(3) -> 11 , active^#_0(4) -> 11 , active^#_0(6) -> 11 , active^#_0(9) -> 11 , and^#_0(3, 3) -> 17 , and^#_0(3, 4) -> 17 , and^#_0(3, 6) -> 17 , and^#_0(3, 9) -> 17 , and^#_0(4, 3) -> 17 , and^#_0(4, 4) -> 17 , and^#_0(4, 6) -> 17 , and^#_0(4, 9) -> 17 , and^#_0(6, 3) -> 17 , and^#_0(6, 4) -> 17 , and^#_0(6, 6) -> 17 , and^#_0(6, 9) -> 17 , and^#_0(9, 3) -> 17 , and^#_0(9, 4) -> 17 , and^#_0(9, 6) -> 17 , and^#_0(9, 9) -> 17} 11) {active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))} The usable rules for this path are the following: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))} Details: We apply the weight gap principle, strictly orienting the rules {active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [0] c_5(x1) = [1] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [3] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [0] c_5(x1) = [1] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M)))} and weakly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [12] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [5] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [8] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [0] c_5(x1) = [1] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { tt_0() -> 3 , mark_0(3) -> 4 , mark_0(4) -> 4 , mark_0(6) -> 4 , mark_0(9) -> 4 , 0_0() -> 6 , ok_0(3) -> 9 , ok_0(4) -> 9 , ok_0(6) -> 9 , ok_0(9) -> 9 , active^#_0(3) -> 11 , active^#_0(4) -> 11 , active^#_0(6) -> 11 , active^#_0(9) -> 11 , plus^#_0(3, 3) -> 19 , plus^#_0(3, 4) -> 19 , plus^#_0(3, 6) -> 19 , plus^#_0(3, 9) -> 19 , plus^#_0(4, 3) -> 19 , plus^#_0(4, 4) -> 19 , plus^#_0(4, 6) -> 19 , plus^#_0(4, 9) -> 19 , plus^#_0(6, 3) -> 19 , plus^#_0(6, 4) -> 19 , plus^#_0(6, 6) -> 19 , plus^#_0(6, 9) -> 19 , plus^#_0(9, 3) -> 19 , plus^#_0(9, 4) -> 19 , plus^#_0(9, 6) -> 19 , plus^#_0(9, 9) -> 19} 12) {proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))} The usable rules for this path are the following: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))} Details: We apply the weight gap principle, strictly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [1] x1 + [1] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))} and weakly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [2] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [1] x1 + [1] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0())} and weakly orienting the rules { proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0())} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [15] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [1] x1 + [1] x2 + [1] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [11] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [1] x1 + [8] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0()) , proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0()) , proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { tt_0() -> 3 , mark_0(3) -> 4 , mark_0(4) -> 4 , mark_0(6) -> 4 , mark_0(9) -> 4 , 0_0() -> 6 , ok_0(3) -> 9 , ok_0(4) -> 9 , ok_0(6) -> 9 , ok_0(9) -> 9 , plus^#_0(3, 3) -> 19 , plus^#_0(3, 4) -> 19 , plus^#_0(3, 6) -> 19 , plus^#_0(3, 9) -> 19 , plus^#_0(4, 3) -> 19 , plus^#_0(4, 4) -> 19 , plus^#_0(4, 6) -> 19 , plus^#_0(4, 9) -> 19 , plus^#_0(6, 3) -> 19 , plus^#_0(6, 4) -> 19 , plus^#_0(6, 6) -> 19 , plus^#_0(6, 9) -> 19 , plus^#_0(9, 3) -> 19 , plus^#_0(9, 4) -> 19 , plus^#_0(9, 6) -> 19 , plus^#_0(9, 9) -> 19 , proper^#_0(3) -> 26 , proper^#_0(4) -> 26 , proper^#_0(6) -> 26 , proper^#_0(9) -> 26} 13) {proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))} The usable rules for this path are the following: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))} Details: We apply the weight gap principle, strictly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_11(x1) = [1] x1 + [1] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))} and weakly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [2] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_11(x1) = [1] x1 + [1] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0())} and weakly orienting the rules { proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0())} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [15] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [1] x1 + [1] x2 + [1] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [11] c_11(x1) = [1] x1 + [8] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0()) , proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0()) , proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { tt_0() -> 3 , mark_0(3) -> 4 , mark_0(4) -> 4 , mark_0(6) -> 4 , mark_0(9) -> 4 , 0_0() -> 6 , ok_0(3) -> 9 , ok_0(4) -> 9 , ok_0(6) -> 9 , ok_0(9) -> 9 , and^#_0(3, 3) -> 17 , and^#_0(3, 4) -> 17 , and^#_0(3, 6) -> 17 , and^#_0(3, 9) -> 17 , and^#_0(4, 3) -> 17 , and^#_0(4, 4) -> 17 , and^#_0(4, 6) -> 17 , and^#_0(4, 9) -> 17 , and^#_0(6, 3) -> 17 , and^#_0(6, 4) -> 17 , and^#_0(6, 6) -> 17 , and^#_0(6, 9) -> 17 , and^#_0(9, 3) -> 17 , and^#_0(9, 4) -> 17 , and^#_0(9, 6) -> 17 , and^#_0(9, 9) -> 17 , proper^#_0(3) -> 26 , proper^#_0(4) -> 26 , proper^#_0(6) -> 26 , proper^#_0(9) -> 26} 14) {proper^#(s(X)) -> c_15(s^#(proper(X)))} The usable rules for this path are the following: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(tt()) -> ok(tt()) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , proper^#(s(X)) -> c_15(s^#(proper(X)))} Details: We apply the weight gap principle, strictly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [1] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {proper^#(s(X)) -> c_15(s^#(proper(X)))} and weakly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(s(X)) -> c_15(s^#(proper(X)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [1] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [9] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [1] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0())} and weakly orienting the rules { proper^#(s(X)) -> c_15(s^#(proper(X))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0())} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [8] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [8] s(x1) = [1] x1 + [0] proper(x1) = [1] x1 + [1] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [13] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [1] x1 + [8] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0()) , proper^#(s(X)) -> c_15(s^#(proper(X))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { proper(and(X1, X2)) -> and(proper(X1), proper(X2)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { proper(tt()) -> ok(tt()) , proper(0()) -> ok(0()) , proper^#(s(X)) -> c_15(s^#(proper(X))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { tt_0() -> 3 , mark_0(3) -> 4 , mark_0(4) -> 4 , mark_0(6) -> 4 , mark_0(9) -> 4 , 0_0() -> 6 , ok_0(3) -> 9 , ok_0(4) -> 9 , ok_0(6) -> 9 , ok_0(9) -> 9 , s^#_0(3) -> 15 , s^#_0(4) -> 15 , s^#_0(6) -> 15 , s^#_0(9) -> 15 , proper^#_0(3) -> 26 , proper^#_0(4) -> 26 , proper^#_0(6) -> 26 , proper^#_0(9) -> 26} 15) {active^#(s(X)) -> c_6(s^#(active(X)))} The usable rules for this path are the following: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2)) , s(ok(X)) -> ok(s(X)) , active^#(s(X)) -> c_6(s^#(active(X)))} Details: We apply the weight gap principle, strictly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [1] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [3] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active^#(s(X)) -> c_6(s^#(active(X)))} and weakly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active^#(s(X)) -> c_6(s^#(active(X)))} Details: Interpretation Functions: active(x1) = [1] x1 + [1] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [1] x1 + [4] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [13] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [1] x1 + [1] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [1] x1 + [1] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active^#(s(X)) -> c_6(s^#(active(X))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { active(and(X1, X2)) -> and(active(X1), X2) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(s(X)) -> s(active(X)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , and(mark(X1), X2) -> mark(and(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X))} Weak Rules: { active(and(tt(), X)) -> mark(X) , active(plus(N, 0())) -> mark(N) , active(plus(N, s(M))) -> mark(s(plus(N, M))) , active^#(s(X)) -> c_6(s^#(active(X))) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , and(ok(X1), ok(X2)) -> ok(and(X1, X2))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { tt_0() -> 3 , mark_0(3) -> 4 , mark_0(4) -> 4 , mark_0(6) -> 4 , mark_0(9) -> 4 , 0_0() -> 6 , ok_0(3) -> 9 , ok_0(4) -> 9 , ok_0(6) -> 9 , ok_0(9) -> 9 , active^#_0(3) -> 11 , active^#_0(4) -> 11 , active^#_0(6) -> 11 , active^#_0(9) -> 11 , s^#_0(3) -> 15 , s^#_0(4) -> 15 , s^#_0(6) -> 15 , s^#_0(9) -> 15} 16) { active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M))) , s^#(ok(X)) -> c_18(s^#(X)) , s^#(mark(X)) -> c_10(s^#(X))} The usable rules for this path are the following: { plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M))) , s^#(ok(X)) -> c_18(s^#(X)) , s^#(mark(X)) -> c_10(s^#(X))} Details: We apply the weight gap principle, strictly orienting the rules {active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [1] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [11] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [0] s^#(x1) = [1] x1 + [4] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [2] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [1] x1 + [1] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , s^#(ok(X)) -> c_18(s^#(X))} and weakly orienting the rules {active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , s^#(ok(X)) -> c_18(s^#(X))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [1] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [12] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [4] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [0] s^#(x1) = [1] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [8] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {s^#(mark(X)) -> c_10(s^#(X))} and weakly orienting the rules { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , s^#(ok(X)) -> c_18(s^#(X)) , active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {s^#(mark(X)) -> c_10(s^#(X))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [8] plus(x1, x2) = [1] x1 + [1] x2 + [1] 0() = [0] s(x1) = [1] x1 + [1] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [9] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [2] s^#(x1) = [1] x1 + [8] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [1] x1 + [1] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [1] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2))} Weak Rules: { s^#(mark(X)) -> c_10(s^#(X)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , s^#(ok(X)) -> c_18(s^#(X)) , active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2))} Weak Rules: { s^#(mark(X)) -> c_10(s^#(X)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , s^#(ok(X)) -> c_18(s^#(X)) , active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { mark_0(4) -> 4 , mark_0(9) -> 4 , ok_0(4) -> 9 , ok_0(9) -> 9 , active^#_0(4) -> 11 , active^#_0(9) -> 11 , s^#_0(4) -> 15 , s^#_0(9) -> 15 , c_10_0(15) -> 15 , c_18_0(15) -> 15} 17) {active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))} The usable rules for this path are the following: { plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))} We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs. 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost runtime-complexity with respect to Rules: { plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))} Details: We apply the weight gap principle, strictly orienting the rules {active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [1] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [10] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [4] s^#(x1) = [1] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor We apply the weight gap principle, strictly orienting the rules {plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))} and weakly orienting the rules {active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] mark(x1) = [1] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [1] 0() = [0] s(x1) = [1] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [1] x1 + [8] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [8] c_0() = [0] c_1() = [0] c_2(x1) = [1] x1 + [0] s^#(x1) = [1] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment'' ------------------------------------------------------------------------------------------ Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2))} Weak Rules: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))} Details: The problem was solved by processor 'Bounds with default enrichment': 'Bounds with default enrichment' -------------------------------- Answer: YES(?,O(n^1)) Input Problem: innermost relative runtime-complexity with respect to Strict Rules: { plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(X1, mark(X2)) -> mark(plus(X1, X2))} Weak Rules: { plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))} Details: The problem is Match-bounded by 0. The enriched problem is compatible with the following automaton: { mark_0(4) -> 4 , mark_0(9) -> 4 , ok_0(4) -> 9 , ok_0(9) -> 9 , active^#_0(4) -> 11 , active^#_0(9) -> 11 , s^#_0(4) -> 15 , s^#_0(9) -> 15} 18) {active^#(and(tt(), X)) -> c_0()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] mark(x1) = [0] x1 + [0] plus(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] s(x1) = [0] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {active^#(and(tt(), X)) -> c_0()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {active^#(and(tt(), X)) -> c_0()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(and(tt(), X)) -> c_0()} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [1] x1 + [1] x2 + [0] tt() = [0] mark(x1) = [0] x1 + [0] plus(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] s(x1) = [0] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {active^#(and(tt(), X)) -> c_0()} Details: The given problem does not contain any strict rules 19) {active^#(plus(N, 0())) -> c_1()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] mark(x1) = [0] x1 + [0] plus(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] s(x1) = [0] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {active^#(plus(N, 0())) -> c_1()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {active^#(plus(N, 0())) -> c_1()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {active^#(plus(N, 0())) -> c_1()} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] mark(x1) = [0] x1 + [0] plus(x1, x2) = [1] x1 + [1] x2 + [0] 0() = [0] s(x1) = [0] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [1] x1 + [1] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {active^#(plus(N, 0())) -> c_1()} Details: The given problem does not contain any strict rules 20) {proper^#(0()) -> c_14()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] mark(x1) = [0] x1 + [0] plus(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] s(x1) = [0] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {proper^#(0()) -> c_14()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {proper^#(0()) -> c_14()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(0()) -> c_14()} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] mark(x1) = [0] x1 + [0] plus(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] s(x1) = [0] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {proper^#(0()) -> c_14()} Details: The given problem does not contain any strict rules 21) {proper^#(tt()) -> c_12()} The usable rules for this path are empty. We have oriented the usable rules with the following strongly linear interpretation: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] mark(x1) = [0] x1 + [0] plus(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] s(x1) = [0] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [0] x1 + [0] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] We have applied the subprocessor on the resulting DP-problem: 'Weight Gap Principle' ---------------------- Answer: YES(?,O(n^1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {proper^#(tt()) -> c_12()} Weak Rules: {} Details: We apply the weight gap principle, strictly orienting the rules {proper^#(tt()) -> c_12()} and weakly orienting the rules {} using the following strongly linear interpretation: Processor 'Matrix Interpretation' oriented the following rules strictly: {proper^#(tt()) -> c_12()} Details: Interpretation Functions: active(x1) = [0] x1 + [0] and(x1, x2) = [0] x1 + [0] x2 + [0] tt() = [0] mark(x1) = [0] x1 + [0] plus(x1, x2) = [0] x1 + [0] x2 + [0] 0() = [0] s(x1) = [0] x1 + [0] proper(x1) = [0] x1 + [0] ok(x1) = [0] x1 + [0] top(x1) = [0] x1 + [0] active^#(x1) = [0] x1 + [0] c_0() = [0] c_1() = [0] c_2(x1) = [0] x1 + [0] s^#(x1) = [0] x1 + [0] c_3(x1) = [0] x1 + [0] and^#(x1, x2) = [0] x1 + [0] x2 + [0] c_4(x1) = [0] x1 + [0] plus^#(x1, x2) = [0] x1 + [0] x2 + [0] c_5(x1) = [0] x1 + [0] c_6(x1) = [0] x1 + [0] c_7(x1) = [0] x1 + [0] c_8(x1) = [0] x1 + [0] c_9(x1) = [0] x1 + [0] c_10(x1) = [0] x1 + [0] proper^#(x1) = [1] x1 + [1] c_11(x1) = [0] x1 + [0] c_12() = [0] c_13(x1) = [0] x1 + [0] c_14() = [0] c_15(x1) = [0] x1 + [0] c_16(x1) = [0] x1 + [0] c_17(x1) = [0] x1 + [0] c_18(x1) = [0] x1 + [0] top^#(x1) = [0] x1 + [0] c_19(x1) = [0] x1 + [0] c_20(x1) = [0] x1 + [0] Finally we apply the subprocessor 'Empty TRS' ----------- Answer: YES(?,O(1)) Input Problem: innermost DP runtime-complexity with respect to Strict Rules: {} Weak Rules: {proper^#(tt()) -> c_12()} Details: The given problem does not contain any strict rules